package com.nidu.demo.excel.annotation;

import java.lang.annotation.*;

/**
 * Excel 列定义注解
 * 支持国际化、字典转换、导入模板自动生成
 *
 * @author nidu
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ExcelColumn {

    /** 列名（支持国际化 key） */
    String value() default "";

    /** 列索引（从0开始） */
    int index() default -1;

    /** 列宽 */
    int width() default 20;

    /** 是否必填 */
    boolean required() default false;

    /** 日期格式 */
    String dateFormat() default "yyyy-MM-dd HH:mm:ss";

    /** 数字格式 */
    String numberFormat() default "";

    /** 字典类型（sys_dict_type.type） */
    String dictType() default "";

    /** 导出时是否隐藏 */
    boolean hidden() default false;

    /** 国际化 key（优先级高于 value） */
    String i18nKey() default "";

    /** 备注信息（生成模板时可用） */
    String comment() default "";
}
